home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…ibrary 1991 & 1992 Winter / The Apple Reference & Presentations Library CD Apple Partner Edition Winter 91-92.7z / Image.iso / mac / 5-Fonts & Software / Demo Software / Graphics / Canvas 3.0 Demo / PPD Folder / IBM20470.PPD < prev    next >
Text File  |  1990-06-24  |  17KB  |  382 lines

  1. *% Adobe Systems PostScript(R) Printer Description File
  2. *% For "IBM Personal Pageprinter" version 47.0
  3. *% Produced by "GETapd.ps" version 2.0 edit 48
  4. *%
  5. *% Copyright 1988, 1989, 1990 Adobe Systems Incorporated.  
  6. *% All Rights Reserved.
  7. *% Permission is granted for redistribution of this file as
  8. *% long as this copyright notice is intact and the contents
  9. *% of the file is not altered in any way from its original form.
  10. *%
  11. *% The byte count of this file should be exactly 017067 or 017448
  12. *% depending on the filesystem it resides in.
  13. *%
  14. *% Date: 3/13/90
  15. *FormatVersion: "3.0"
  16. *FileVersion: "1.2"
  17. *LanguageVersion: English
  18.  
  19. *Product: "(IBM Personal Pageprinter)"
  20. *PSVersion: "(47.0) 14"
  21. *NickName: "IBM 4216-020 v47.0"
  22.  
  23. *% General Information and Defaults ===============
  24. *ColorDevice: False
  25. *FreeVM: "432134"
  26. *VariablePaperSize: False
  27. *FileSystem: False
  28. *?FileSystem: "/initializedisk where{pop(True)}{(False)} ifelse = flush"
  29. *Throughput: "6"
  30. *Password: "0"
  31. *ExitServer: "
  32.   count 0 eq {  % is the password on the stack?
  33.     true 
  34.   }{
  35.     dup    % potential password
  36.     statusdict begin checkpassword end not
  37.   } ifelse 
  38.   {  %  if no password or not valid 
  39.     (WARNING : Cannot perform the exitserver command.) = 
  40.     (Password supplied is not valid.) = 
  41.     (Please contact the author of this software.) = flush
  42.     quit
  43.   } if 
  44.   serverdict begin exitserver
  45. "
  46. *End
  47.  
  48. *%Reset not available by PostScript software
  49.  
  50. *DefaultResolution: 300dpi
  51. *?Resolution: "
  52. save
  53.   initgraphics
  54.   0 0 moveto currentpoint matrix defaultmatrix transform
  55.   0 72 lineto currentpoint matrix defaultmatrix transform
  56.   3 -1 roll sub dup mul
  57.   3 1 roll exch sub dup mul
  58.   add sqrt round cvi
  59.   (          ) cvs print (dpi) = flush
  60. restore
  61. "
  62. *End
  63.  
  64. *% Halftone Information ===============
  65. *ScreenFreq: "60.0"
  66. *ScreenAngle: "45.0"
  67. *DefaultScreenProc: Dot
  68. *ScreenProc Dot: "
  69. {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 
  70. sub }{dup mul exch dup mul add 1 exch sub }ifelse }
  71. "
  72. *End
  73. *ScreenProc Line: "{ pop }"
  74. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  75.  
  76. *DefaultTransfer: Null
  77. *Transfer Null: "{ }"
  78. *Transfer Null.Inverse: "{ 1 exch sub }"
  79.  
  80. *% Paper Handling ===================
  81.  
  82. *% Use these entries to set paper size most of the time, unless there is
  83. *% specific reason to use PageRegion or PaperTray.
  84. *% The Envelope entries are in the format:
  85. *%       Envelope.x.y/Comment in english about the size:
  86. *% where x and y are the width and height dimensions in points.
  87. *% NOTE: The x dimension is perpendicular to the feed direction.
  88. *% All characters after the first '/' and before the ':' are comments about  
  89. *% the size of the envelope. These comments may be used to display a message 
  90. *% to the user, for example.
  91. *% or they may be safely ignored.
  92. *DefaultPageSize: Letter
  93. *PageSize Letter: "letter"
  94. *PageSize Legal: "legal"
  95. *PageSize A4: "a4"
  96. *PageSize A5: "a5"
  97. *PageSize B5: "b5"
  98. *PageSize Statement: "statement"
  99. *PageSize Envelope.612.792/Letter Envelope: "statusdict begin /envelopewidth 612 def /envelopeheight 792 def envelope end"
  100. *PageSize Envelope.612.1008/Legal Envelope: "statusdict begin /envelopewidth 612 def /envelopeheight 1008 def envelope end"
  101. *PageSize Envelope.396.612/Statement Envelope: "statusdict begin /envelopewidth 396 def /envelopeheight 612 def envelope end"
  102. *PageSize Envelope.595.842/A4 Envelope: "statusdict begin /envelopewidth 595 def /envelopeheight 842 def envelope end"
  103. *PageSize Envelope.420.595/A5 Envelope: "statusdict begin /envelopewidth 420 def /envelopeheight 595 def envelope end"
  104. *PageSize Envelope.516.729/B5 Envelope: "statusdict begin /envelopewidth 516 def /envelopeheight 729 def envelope end"
  105. *PageSize Envelope.567.903/Folio Envelope: "statusdict begin /envelopewidth 567 def /envelopeheight 903 def envelope end"
  106. *PageSize Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "statusdict begin /envelopewidth 279 def /envelopeheight 639 def envelope end"
  107. *PageSize Envelope.297.684/4 1/8 Inch x 9 1/2 Inch Envelope: "statusdict begin /envelopewidth 297 def /envelopeheight 684 def envelope end"
  108. *PageSize Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "statusdict begin /envelopewidth 324 def /envelopeheight 747 def envelope end"
  109. *PageSize Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "statusdict begin /envelopewidth 342 def /envelopeheight 792 def envelope end"
  110. *PageSize Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "statusdict begin /envelopewidth 360 def /envelopeheight 828 def envelope end"
  111. *PageSize Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "statusdict begin /envelopewidth 468 def /envelopeheight 684 def envelope end"
  112. *PageSize Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "statusdict begin /envelopewidth 540 def /envelopeheight 756 def envelope end"
  113. *PageSize Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "statusdict begin /envelopewidth 630 def /envelopeheight 810 def envelope end"
  114. *?PageSize: "
  115.  save statusdict begin
  116.   12 dict begin
  117.    /letter (Letter) def /legal (Legal) def
  118.    /a4 (A4) def /a5 (A5) def /b5 (B5) def
  119.    /statement (Statement) def /envelope (Envelope) def
  120.    papersize {
  121.      {load exec} stopped not{= flush}{(Unknown) = flush}ifelse
  122.    }{
  123.      {load exec} stopped not{print (.Transverse) = flush}{(Unknown) = flush}ifelse
  124.    }ifelse
  125.   end
  126.  end restore
  127. "
  128. *End
  129.  
  130. *% These entries will set up the frame buffer. Usually used with manual feed.
  131. *DefaultPageRegion: Letter
  132. *PageRegion Letter: "letter"
  133. *PageRegion Legal: "legal"
  134. *PageRegion A4: "a4"
  135. *PageRegion A5: "a5"
  136. *PageRegion B5: "b5"
  137. *PageRegion Statement: "statement"
  138. *PageRegion Envelope.612.792/Letter Envelope: "statusdict begin /envelopewidth 612 def /envelopeheight 792 def envelope end"
  139. *PageRegion Envelope.612.1008/Legal Envelope: "statusdict begin /envelopewidth 612 def /envelopeheight 1008 def envelope end"
  140. *PageRegion Envelope.396.612/Statement Envelope: "statusdict begin /envelopewidth 396 def /envelopeheight 612 def envelope end"
  141. *PageRegion Envelope.595.842/A4 Envelope: "statusdict begin /envelopewidth 595 def /envelopeheight 842 def envelope end"
  142. *PageRegion Envelope.420.595/A5 Envelope: "statusdict begin /envelopewidth 420 def /envelopeheight 595 def envelope end"
  143. *PageRegion Envelope.516.729/B5 Envelope: "statusdict begin /envelopewidth 516 def /envelopeheight 729 def envelope end"
  144. *PageRegion Envelope.567.903/Folio Envelope: "statusdict begin /envelopewidth 567 def /envelopeheight 903 def envelope end"
  145. *PageRegion Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "statusdict begin /envelopewidth 279 def /envelopeheight 639 def envelope end"
  146. *PageRegion Envelope.297.684/4 1/8 Inch x 9 1/2 Inch Envelope: "statusdict begin /envelopewidth 297 def /envelopeheight 684 def envelope end"
  147. *PageRegion Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "statusdict begin /envelopewidth 324 def /envelopeheight 747 def envelope end"
  148. *PageRegion Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "statusdict begin /envelopewidth 342 def /envelopeheight 792 def envelope end"
  149. *PageRegion Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "statusdict begin /envelopewidth 360 def /envelopeheight 828 def envelope end"
  150. *PageRegion Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "statusdict begin /envelopewidth 468 def /envelopeheight 684 def envelope end"
  151. *PageRegion Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "statusdict begin /envelopewidth 540 def /envelopeheight 756 def envelope end"
  152. *PageRegion Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "statusdict begin /envelopewidth 630 def /envelopeheight 810 def envelope end"
  153.  
  154. *% These entries will invoke a particular tray--error may occur if tray is not inserted.
  155. *% These errors should be trapped by software and a message displayed
  156. *DefaultPaperTray: None
  157.  
  158. *% The following entries provide information about specific paper keywords.
  159. *DefaultImageableArea: Letter
  160. *ImageableArea Letter: "17 19 595 774 "
  161. *ImageableArea Legal: "17 19 595 990 "
  162. *ImageableArea A4: "18 19 577 823 "
  163. *ImageableArea A5: "18 19 401 577 "
  164. *ImageableArea B5: "18 19 481 690 "
  165. *ImageableArea Statement: "18 19 378 594 "
  166. *ImageableArea Envelope.612.792/Letter Envelope: "15 8 597 784 "
  167. *ImageableArea Envelope.612.1008/Legal Envelope: "15 15 597 993 "
  168. *ImageableArea Envelope.396.612/Statement Envelope: "14 8 382 604 "
  169. *ImageableArea Envelope.595.842/A4 Envelope: "14 8 581 834 "
  170. *ImageableArea Envelope.420.595/A5 Envelope: "15 8 405 588 "
  171. *ImageableArea Envelope.516.729/B5 Envelope: "13 8 503 721 "
  172. *ImageableArea Envelope.567.903/Folio Envelope: "14 8 581 928 "
  173. *ImageableArea Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "13 15 266 624 "
  174. *ImageableArea Envelope.297.684/4 1/8 Inch x 9 1/2 Inch Envelope: "15 15 282 669 "
  175. *ImageableArea Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "17 15 307 732 "
  176. *ImageableArea Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "14 15 328 777 "
  177. *ImageableArea Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "15 15 344 813 "
  178. *ImageableArea Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "16 15 452 669 "
  179. *ImageableArea Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "13 15 527 741 "
  180. *ImageableArea Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "16 15 614 795 "
  181. *?ImageableArea: "
  182.  save /cvp { cvi (            ) cvs print ( ) print } bind def
  183.   newpath clippath pathbbox
  184.   4 -2 roll exch 2 {ceiling cvp} repeat
  185.   exch 2 {floor cvp} repeat flush
  186.  restore
  187. "
  188. *End
  189.  
  190. *% These provide the physical dimensions of the paper (by keyword)
  191. *DefaultPaperDimension: Letter
  192. *PaperDimension Letter: "612 792"
  193. *PaperDimension Legal: "612 1008"
  194. *PaperDimension A4: "595 842"
  195. *PaperDimension A5: "420 595"
  196. *PaperDimension B5: "516 729"
  197. *PaperDimension Statement: "396 612"
  198. *PaperDimension Envelope.612.792/Letter Envelope: "612 792"
  199. *PaperDimension Envelope.612.1008/Legal Envelope: "612 1008"
  200. *PaperDimension Envelope.396.612/Statement Envelope: "396 612"
  201. *PaperDimension Envelope.595.842/A4 Envelope: "595 842"
  202. *PaperDimension Envelope.420.595/A5 Envelope: "420 595"
  203. *PaperDimension Envelope.516.729/B5 Envelope: "516 729"
  204. *PaperDimension Envelope.567.903/Folio Envelope: "567 903"
  205. *PaperDimension Envelope.279.639/3 7/8 Inch x 8 7/8 Inch Envelope: "279 639"
  206. *PaperDimension Envelope.297.684/4 1/8 Inch x 9 1/2 Inch Envelope: "297 684"
  207. *PaperDimension Envelope.324.747/4 1/2 Inch x 10 3/8 Inch Envelope: "324 747"
  208. *PaperDimension Envelope.342.792/4 3/4 Inch x 11 Inch Envelope: "342 792"
  209. *PaperDimension Envelope.360.828/5 Inch x 11 1/2 Inch Envelope: "360 828"
  210. *PaperDimension Envelope.468.684/6 1/2 Inch x 9 1/2 Inch Envelope: "468 684"
  211. *PaperDimension Envelope.540.756/7 1/2 Inch x 10 1/2 Inch Envelope: "540 756"
  212. *PaperDimension Envelope.630.810/8 3/4 Inch x 11 1/4 Inch Envelope: "630 810"
  213.  
  214. *DefaultOutputBin: Upper
  215. *DefaultInputSlot: None
  216.  
  217. *DefaultManualFeed: None
  218.  
  219. *DefaultOutputOrder: Normal
  220.  
  221. *DefaultCollator: None
  222. *DefaultSorter: None
  223. *DefaultDuplex: None
  224.  
  225. *% Font Information =====================
  226.  
  227. *DefaultFont: Courier
  228. *Font AvantGarde-Book: Standard "(001.002)"
  229. *Font AvantGarde-BookOblique: Standard "(001.002)"
  230. *Font AvantGarde-Demi: Standard "(001.002)"
  231. *Font AvantGarde-DemiOblique: Standard "(001.002)"
  232. *Font Bookman-Demi: Standard "(001.001)"
  233. *Font Bookman-DemiItalic: Standard "(001.001)"
  234. *Font Bookman-Light: Standard "(001.001)"
  235. *Font Bookman-LightItalic: Standard "(001.001)"
  236. *Font Courier: Standard "(001.004)"
  237. *Font Courier-Bold: Standard "(001.004)"
  238. *Font Courier-BoldOblique: Standard "(001.004)"
  239. *Font Courier-Oblique: Standard "(001.004)"
  240. *Font Emulatorfont: Special "(001.000)"
  241. *Font Emulatorfont-Bold: Special "(001.000)"
  242. *Font Garamond-Bold: Standard "(001.001)"
  243. *Font Garamond-BoldItalic: Standard "(001.001)"
  244. *Font Garamond-Light: Standard "(001.001)"
  245. *Font Garamond-LightItalic: Standard "(001.001)"
  246. *Font Helvetica: Standard "(001.002)"
  247. *Font Helvetica-Black: Standard "(001.001)"
  248. *Font Helvetica-BlackOblique: Standard "(001.001)"
  249. *Font Helvetica-Bold: Standard "(001.002)"
  250. *Font Helvetica-BoldOblique: Standard "(001.002)"
  251. *Font Helvetica-Light: Standard "(001.001)"
  252. *Font Helvetica-LightOblique: Standard "(001.001)"
  253. *Font Helvetica-Oblique: Standard "(001.002)"
  254. *Font Korinna-Bold: Standard "(001.001)"
  255. *Font Korinna-KursivBold: Standard "(001.001)"
  256. *Font Korinna-KursivRegular: Standard "(001.001)"
  257. *Font Korinna-Regular: Standard "(001.001)"
  258. *Font NewCenturySchlbk-Bold: Standard "(001.003)"
  259. *Font NewCenturySchlbk-BoldItalic: Standard "(001.002)"
  260. *Font NewCenturySchlbk-Italic: Standard "(001.002)"
  261. *Font NewCenturySchlbk-Roman: Standard "(001.003)"
  262. *Font Palatino-Bold: Standard "(001.001)"
  263. *Font Palatino-BoldItalic: Standard "(001.001)"
  264. *Font Palatino-Italic: Standard "(001.001)"
  265. *Font Palatino-Roman: Standard "(001.001)"
  266. *Font Symbol: Special "(001.003)"
  267. *Font Times-Bold: Standard "(001.002)"
  268. *Font Times-BoldItalic: Standard "(001.004)"
  269. *Font Times-Italic: Standard "(001.002)"
  270. *Font Times-Roman: Standard "(001.002)"
  271. *Font ZapfChancery-MediumItalic: Standard "(001.002)"
  272. *Font ZapfDingbats: Special "(001.001)"
  273. *?FontQuery: "
  274. save  5 dict begin /sv exch def
  275. /str (fonts/                              ) def
  276. /st2 128 string def
  277. {
  278.   count 0 gt {
  279.     dup st2 cvs (/) print print (:) print
  280.     dup FontDirectory exch known {pop (Yes)}{
  281.       statusdict /FontTranslateDict known not {pop (No)}{
  282.         /tdict statusdict /FontTranslateDict get def
  283.         dup tdict exch known not {pop (No)}{
  284.           str exch tdict exch get dup length /len exch def
  285.           6 exch putinterval str 0 len 6 add getinterval 
  286.           mark exch status {cleartomark (Yes)}{cleartomark (No)}ifelse
  287.         }ifelse % name on stack known in tdict
  288.       }ifelse % FontTranslateDict exists
  289.     }ifelse % known in FontDirectory
  290.     = flush
  291.   }{ exit } ifelse % stack nonempty
  292. } bind loop 
  293. (*) = flush
  294. sv end restore
  295. "
  296. *End
  297.  
  298. *?FontList: "
  299. save  4 dict begin /sv exch def
  300. /str (fonts/                              ) def
  301. FontDirectory { pop ==  } forall flush
  302. statusdict /FontTranslateDict known {
  303.   statusdict /FontTranslateDict get {
  304.     FontDirectory 2 index known {
  305.       pop pop
  306.       }{
  307.       str exch dup length /len exch def
  308.       6 exch putinterval str 0 len 6 add getinterval
  309.       mark exch status {cleartomark ==}{cleartomark pop}ifelse
  310.       } ifelse % already in FontDirectory
  311.     } forall % FontTranslateDict
  312.   } if % FontTranslateDict known
  313. (*) = flush
  314. sv end restore
  315. "
  316. *End
  317.  
  318. *% Printer Messages (verbatim from printer):
  319. *Message: "%%[ exitserver: recording persistent data ]%%"
  320. *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
  321. *Message: "\FontName\ not found, using Courier."
  322.  
  323. *% Status (format: %%[ status: <one of these> ]%% )
  324. *Status: "idle"
  325. *Status: "busy"
  326. *Status: "waiting"
  327. *Status: "printing"
  328.  
  329. *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
  330. *Source: "Parallel"
  331. *Source: "Enhanced Parallel"
  332. *Source: "Multi-Channel"
  333.  
  334. *% the following format reflects a bug in revision 14 that
  335. *%   reverses the bracket and percents
  336. *% Printer Error (format: [%% PrinterError: <one of these> %%])
  337. *PrinterError: "not responding"
  338. *PrinterError: "requires attention"
  339. *PrinterError: "unknown"
  340.  
  341. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  342.  
  343. *% Color Separation Information =====================
  344.  
  345. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  346.  
  347. *InkName: ProcessBlack/Process Black
  348. *InkName: CustomColor/Custom Color
  349. *InkName: ProcessCyan/Process Cyan
  350. *InkName: ProcessMagenta/Process Magenta
  351. *InkName: ProcessYellow/Process Yellow
  352.  
  353. *% For 60 lpi / 300 dpi =====================================================
  354.  
  355. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  356. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  357. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  358. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  359. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  360.  
  361. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  362. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  363. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  364. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  365. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  366.  
  367. *% For 53 lpi / 300 dpi =====================================================
  368.  
  369. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  370. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  371. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  372. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  373. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  374.  
  375. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  376. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  377. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  378. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  379. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  380.  
  381. *% end of PPD file for IBM 4216-020
  382.